//package com.ruoyi.swla2.util;
//
//import cn.hutool.json.JSONUtil;
//import com.github.pagehelper.util.StringUtil;
//import org.geotools.geometry.jts.JTS;
//import org.geotools.referencing.CRS;
//import org.locationtech.jts.geom.*;
//import org.locationtech.jts.geom.Coordinate;
//import org.locationtech.jts.geom.util.AffineTransformation;
//import org.locationtech.jts.geom.util.AffineTransformationBuilder;
//import org.locationtech.jts.io.ParseException;
//import org.locationtech.jts.io.WKTReader;
//import org.locationtech.jts.io.WKTWriter;
//import org.locationtech.proj4j.CRSFactory;
//import org.locationtech.proj4j.CoordinateTransform;
//import org.locationtech.proj4j.CoordinateTransformFactory;
//import org.locationtech.proj4j.ProjCoordinate;
//import org.opengis.geometry.MismatchedDimensionException;
//import org.opengis.referencing.FactoryException;
//import org.opengis.referencing.crs.CRSAuthorityFactory;
//import org.opengis.referencing.crs.CoordinateReferenceSystem;
//import org.opengis.referencing.operation.MathTransform;
//import org.opengis.referencing.operation.TransformException;
//
//public class WKTTransform {
//    public static void main(String[] args) throws ParseException, TransformException, FactoryException {
//        //要转换的wkt
//        String wk1 = "LINESTRING (37360817.569479 5127237.510467304, 37360830.13825466 5127118.315033647)";
//        String wkt2 = "MultiLineStringZ ((476646.41972777975024655 2575678.43561746226623654 0, 476347.21328814252046868 2575673.04207566194236279 0))";
//
//        WKTReader wktReader = new WKTReader();
//
//        //读取wkt为Geometry 几何对象
//        Geometry oldGeometry = wktReader.read(wk1);
//
//        //获取CRS权威工厂
//        CRSAuthorityFactory crsAuthorityFactory = CRS.getAuthorityFactory(true);
//
//        //创建sourceCRS
//        CoordinateReferenceSystem sourceCRS = crsAuthorityFactory.createCoordinateReferenceSystem("EPSG:4524");
//
//        //创建targetCRS
//        CoordinateReferenceSystem targetCRS = crsAuthorityFactory.createCoordinateReferenceSystem("EPSG:2334");
//
//        //获取MathTransform
//        MathTransform mathTransform = CRS.findMathTransform(sourceCRS, targetCRS, true);
//
//        //转换
//        Geometry transform = JTS.transform(oldGeometry, mathTransform);
//
//        //Geometry几何对象转换为WKT
//        String newWKT = new WKTWriter().write(transform);
//        System.out.println(newWKT);
//
//        System.out.println(coordinateTransform(wk1, 4524, 2334));
//
//        System.out.println(coordinateTransform(wkt2, 4547, 4326));
//        System.out.println(coordinateTransform("MultiLineStringZ ((465496.67271945934044197 2575350.68098446074873209 0, 465496.63172406319063157 2575351.14289766736328602 0, 465496.51101907773409039 2575351.59079829743131995 0, 465496.31427208275999874 2575352.01107712229713798 0, 465496.04746113903820515 2575352.39096416626125574 0, 465495.71869315963704139 2575352.7189167165197432 0, 465495.33795757032930851 2575352.98497005272656679 0, 465494.91682280675740913 2575353.18104022368788719 0, 465494.46808480093022808 2575353.30116967530921102 0, 465494.00537819165037945 2575353.34170828433707356 0, 465493.54276205430505797 2575353.30142426304519176 0, 465493.09429271961562335 2575353.18154160166159272 0, 465492.67359668062999845 2575352.9857028666883707 0, 465492.29345656861551106 2575352.71985853742808104 0, 465491.9654227546416223 2575352.39208619296550751 0, 465491.69946239894488826 2575352.01234508119523525 0, 465491.5036565947229974 2575351.59217349765822291 0, 465491.38395484327338636 2575351.14433820405974984 0, 465491.34399425238370895 2575350.6824465012177825 0, 465491.38498904055450112 2575350.22053277352824807 0, 465491.50569362594978884 2575349.77263206243515015 0, 465491.70244048233143985 2575349.35235360590741038 0, 465491.96925156272482127 2575348.97246733540669084 0, 465492.29801993822911754 2575348.64451587060466409 0, 465492.67875613161595538 2575348.37846379959955812 0, 465493.09989163849968463 2575348.18239492317661643 0, 465493.54863043664954603 2575348.06226663663983345 0, 465494.011337791220285 2575348.02172892587259412 0, 465494.47395453654462472 2575348.06201346591114998 0, 465494.92242427135352045 2575348.18189620971679688 0, 465495.343120448931586 2575348.37773457681760192 0, 465495.7232604268938303 2575348.64357813308015466 0, 465496.05129384604515508 2575348.97134939162060618 0, 465496.31725359766278416 2575349.35108923772349954 0, 465496.51305865461472422 2575349.77125952672213316 0, 465496.6327596150804311 2575350.21909365383908153 0, 465496.67271945934044197 2575350.68098446074873209 0))", 4547, 4326));
//
//        WKTReader reader = new WKTReader();
////        MultiLineString line = (MultiLineString)reader.read("MULTILINESTRING ((113.66276326681142 23.277869952856655, 113.66276285562483 23.27787412277559, 113.66276166568282 23.277878164495796, 113.66275973314139 23.277881955211686, 113.66275711671973 23.2778853797441, 113.6627538959165 23.277888334039982, 113.66275016859392 23.277890728334086, 113.66274604800464 23.27789248987646, 113.66274165935037 23.277893565142957, 113.66273713597786 23.277893921461676, 113.66273261532722 23.277893548005657, 113.662728234756 23.27789245612201, 113.66272412736546 23.277890678987017, 113.66272041795662 23.27788827059822, 113.66271721923803 23.277885304133605, 113.66271462840136 23.27788186972823, 113.66271272416802 23.277878071735262, 113.66271156439754 23.277874025555374, 113.66271118432921 23.277869854130177, 113.66271159551147 23.277865684206677, 113.66271278545098 23.277861642486116, 113.66271471799209 23.277857851774133, 113.66271733441556 23.277854427249412, 113.66272055522263 23.27785147296407, 113.66272428255049 23.277849078682088, 113.66272840314593 23.27784731715197, 113.6627327918065 23.27784624189636, 113.66273731518469 23.277845885585876, 113.66274183583965 23.277846259046427, 113.6627462164134 23.277847350930436, 113.66275032380426 23.277849128061543, 113.6627540332113 23.27785153644266, 113.66275723192608 23.277854502896716, 113.66275982275748 23.277857937289962, 113.6627617269846 23.277861735270676, 113.6627628867488 23.27786578143967, 113.66276326681142 23.277869952856655))");
////        MultiLineString line = (MultiLineString)reader.read("MULTILINESTRING((113.69742830578052 23.2735291479947,113.6959575820104 23.273504927713407))");
//        MultiLineString line = (MultiLineString)reader.read("MULTILINESTRING((113.69912432304535 23.273582561699573,113.69749152932823 23.27353079842645))");
//        double length = line.getLength();
//        System.out.println(length);
//        MultiPolygon polygon = (MultiPolygon)reader.read("MULTIPOLYGON(((113.74466 27.976452,113.745262 27.976057,113.746722 27.975053,113.746915 27.974693,113.746786 27.974503,113.747237 27.974447,113.747795 27.974428,113.74786 27.97476,113.747763 27.974883,113.748419 27.975338,113.748633 27.975394,113.748568 27.974996,113.74889 27.974977,113.749362 27.975299,113.749534 27.975034,113.749748 27.974977,113.750307 27.975186,113.750307 27.975621,113.750586 27.975849,113.751058 27.975811,113.751423 27.975773,113.751638 27.975489,113.751982 27.975337,113.753184 27.976228,113.754086 27.975205,113.754516 27.97528,113.754752 27.975356,113.755052 27.975053,113.755289 27.974484,113.755482 27.974352,113.755912 27.97403,113.75705 27.974143,113.757393 27.974124,113.757501 27.973992,113.75735 27.973878,113.756234 27.973745,113.755783 27.973745,113.755504 27.973764,113.755482 27.973575,113.755719 27.973006,113.756556 27.973006,113.75675 27.972874,113.75675 27.97257,113.756599 27.972476,113.756362 27.972381,113.755976 27.972381,113.756427 27.971717,113.757372 27.97094,113.757802 27.970789,113.75765 27.969726,113.75679 27.968436,113.75679 27.967147,113.756189 27.966617,113.755244 27.965403,113.755244 27.964569,113.755502 27.963659,113.754385 27.962901,113.754643 27.961991,113.75576 27.961839,113.756877 27.961764,113.75868 27.962144,113.759626 27.961992,113.76186 27.962827,113.762461 27.964117,113.763665 27.963889,113.76461 27.964194,113.765297 27.963739,113.767016 27.963133,113.767016 27.962148,113.768477 27.962604,113.768907 27.961845,113.768391 27.960404,113.767962 27.958357,113.767704 27.957598,113.768655 27.957118,113.766693 27.956584,113.765495 27.956005,113.763932 27.95446,113.762248 27.952407,113.760573 27.950128,113.759462 27.948477,113.75822 27.946599,113.757344 27.94546,113.75566 27.943689,113.754167 27.942316,113.752717 27.94128,113.750512 27.940234,113.749323 27.939204,113.747882 27.937999,113.746884 27.936745,113.746146 27.93538,113.745855 27.934923,113.745182 27.933867,113.741349 27.935771,113.740749 27.936454,113.740234 27.936454,113.739761 27.936681,113.739547 27.937136,113.739075 27.937327,113.738258 27.937327,113.738087 27.937516,113.737615 27.937592,113.737143 27.938238,113.737615 27.938996,113.737701 27.939868,113.737572 27.940399,113.737572 27.941271,113.738043 27.942297,113.737184 27.94279,113.736884 27.943208,113.736584 27.943549,113.736498 27.944193,113.736197 27.944269,113.735639 27.944763,113.735253 27.94518,113.73521 27.945445,113.735682 27.946279,113.735039 27.94681,113.734695 27.946621,113.733365 27.94628,113.732893 27.946812,113.73285 27.946547,113.732378 27.946281,113.731734 27.945827,113.731562 27.94594,113.731777 27.94613,113.731777 27.946471,113.731262 27.946093,113.730919 27.946131,113.730146 27.946017,113.729632 27.945639,113.729461 27.945904,113.729418 27.94617,113.729632 27.946321,113.731562 27.94723,113.731348 27.948481,113.731562 27.948823,113.731648 27.949505,113.731477 27.94996,113.731434 27.950529,113.731219 27.950756,113.73049 27.951743,113.729631 27.95144,113.729889 27.95015,113.729417 27.949772,113.729159 27.949317,113.728817 27.948635,113.728473 27.948635,113.728087 27.948635,113.727701 27.948522,113.727444 27.948295,113.727057 27.94784,113.726414 27.947955,113.725771 27.947575,113.72487 27.947652,113.724827 27.947273,113.724998 27.947046,113.72487 27.946856,113.724998 27.946515,113.724184 27.945795,113.724012 27.945871,113.723798 27.945682,113.723497 27.945796,113.723197 27.945909,113.722939 27.946517,113.72234 27.946289,113.722383 27.945797,113.722159 27.945303,113.720872 27.945153,113.719693 27.945382,113.717635 27.944493,113.716005 27.943092,113.715579 27.941007,113.715816 27.937802,113.714979 27.936552,113.713693 27.935415,113.71245 27.934943,113.710863 27.935135,113.709662 27.93582,113.709727 27.936654,113.709084 27.93656,113.70784 27.936751,113.707797 27.937661,113.707969 27.937927,113.707883 27.938154,113.708141 27.938703,113.705997 27.939522,113.705892 27.939226,113.705525 27.938195,113.706297 27.936791,113.706644 27.936239,113.70658 27.936106,113.706366 27.936126,113.706173 27.936145,113.705937 27.936088,113.70583 27.935956,113.705787 27.935652,113.705616 27.935312,113.705509 27.935236,113.705208 27.935141,113.705037 27.934914,113.704908 27.93444,113.704802 27.934119,113.704737 27.933853,113.704566 27.933796,113.704372 27.933929,113.704415 27.934706,113.704158 27.934783,113.704008 27.934878,113.703751 27.93484,113.70373 27.93465,113.70358 27.934708,113.703515 27.935069,113.703322 27.935031,113.703044 27.9345,113.702658 27.93452,113.702508 27.934501,113.702336 27.934368,113.702187 27.934217,113.702037 27.934217,113.701843 27.934236,113.701629 27.934313,113.701394 27.934446,113.701244 27.934617,113.701222 27.93473,113.701158 27.934806,113.701244 27.934977,113.701329 27.935109,113.701351 27.935261,113.701329 27.935432,113.701415 27.935394,113.701457 27.935451,113.701457 27.935545,113.701394 27.935678,113.701244 27.93583,113.701072 27.935888,113.700879 27.935869,113.700707 27.935736,113.700601 27.935509,113.700494 27.935243,113.700472 27.934883,113.700451 27.934599,113.700408 27.934314,113.700343 27.934164,113.700064 27.933917,113.699808 27.933728,113.699593 27.93352,113.699486 27.933311,113.699336 27.933103,113.699293 27.933236,113.699314 27.933425,113.699488 27.933789,113.699617 27.933959,113.698352 27.934378,113.698052 27.934322,113.697688 27.934607,113.697496 27.934986,113.69726 27.935233,113.69683 27.936031,113.696424 27.936467,113.695952 27.937093,113.695781 27.937208,113.695416 27.937379,113.69518 27.937399,113.694967 27.937512,113.694602 27.937627,113.694367 27.937627,113.694109 27.937324,113.693938 27.937078,113.693724 27.936984,113.693509 27.936965,113.693273 27.937079,113.693209 27.93725,113.693295 27.937345,113.693488 27.937478,113.693595 27.937666,113.693574 27.937931,113.693467 27.938198,113.693488 27.93852,113.693488 27.938748,113.693488 27.938899,113.693381 27.939032,113.693295 27.939222,113.693273 27.939506,113.69323 27.93979,113.693359 27.939942,113.693594 27.940169,113.693723 27.940264,113.693959 27.940282,113.694152 27.940377,113.694238 27.94051,113.694195 27.940699,113.694174 27.940908,113.694174 27.941059,113.694174 27.94123,113.694088 27.941401,113.693895 27.941534,113.693659 27.941667,113.693487 27.941724,113.693402 27.941857,113.693381 27.942066,113.693508 27.942312,113.693744 27.942463,113.694002 27.942615,113.694301 27.942671,113.694452 27.942747,113.694516 27.942936,113.694385 27.943074,113.694043 27.943322,113.693914 27.943436,113.69385 27.943758,113.693871 27.944004,113.693871 27.944326,113.693764 27.944554,113.693485 27.944574,113.693229 27.944631,113.692907 27.944518,113.692649 27.944575,113.692328 27.944746,113.692178 27.944936,113.6922 27.945088,113.692264 27.945239,113.692328 27.945334,113.69235 27.945486,113.6922 27.945637,113.692071 27.945694,113.691964 27.945828,113.692007 27.945923,113.691985 27.946093,113.691899 27.94615,113.69175 27.946226,113.6916 27.946302,113.691428 27.946492,113.691493 27.946777,113.691557 27.946966,113.691686 27.947174,113.691749 27.947288,113.691643 27.947439,113.69145 27.947781,113.69145 27.947933,113.691557 27.948123,113.691728 27.948311,113.691813 27.948463,113.691728 27.948672,113.6916 27.948767,113.691385 27.94871,113.691149 27.948673,113.690893 27.948598,113.690678 27.948673,113.690464 27.948826,113.690295 27.949019,113.690316 27.949228,113.690402 27.949683,113.690295 27.949834,113.69006 27.950044,113.689952 27.950157,113.689695 27.950575,113.689609 27.950765,113.689609 27.950993,113.689695 27.951163,113.689824 27.951276,113.689974 27.951333,113.689974 27.951484,113.689888 27.951731,113.689802 27.951959,113.689824 27.952148,113.689867 27.952224,113.689931 27.952432,113.68991 27.952697,113.689867 27.952926,113.689888 27.953229,113.68991 27.953646,113.689931 27.954025,113.689974 27.954177,113.690102 27.954176,113.690252 27.954195,113.690359 27.954347,113.690338 27.954555,113.690252 27.95482,113.690338 27.955029,113.690488 27.9552,113.690595 27.955351,113.690637 27.955503,113.690637 27.955654,113.690637 27.955787,113.690723 27.955863,113.690809 27.955938,113.690852 27.956032,113.690787 27.956184,113.690616 27.956375,113.690316 27.95683,113.690145 27.956944,113.689866 27.957039,113.689673 27.956851,113.689566 27.956623,113.689523 27.956415,113.689395 27.95613,113.689309 27.955941,113.689031 27.955828,113.688881 27.955847,113.688859 27.956188,113.688795 27.956529,113.688645 27.956776,113.688409 27.956871,113.688088 27.956606,113.68798 27.956588,113.687745 27.956455,113.687188 27.955888,113.687188 27.955471,113.687167 27.955054,113.686952 27.954864,113.686589 27.954695,113.686202 27.954543,113.685667 27.954658,113.685817 27.954923,113.686095 27.955226,113.686117 27.955492,113.685839 27.955757,113.685452 27.955853,113.685517 27.955986,113.685839 27.95625,113.686181 27.956458,113.686331 27.956534,113.686353 27.956629,113.686288 27.956705,113.686095 27.956705,113.685902 27.956648,113.685839 27.956705,113.685796 27.95699,113.68571 27.957104,113.68556 27.957047,113.685538 27.956876,113.685517 27.956497,113.685452 27.956346,113.685281 27.956156,113.684895 27.956043,113.684596 27.95595,113.684274 27.955912,113.684138 27.955996,113.684138 27.956223,113.684138 27.956375,113.684031 27.95645,113.683817 27.95645,113.683646 27.956204,113.683581 27.955978,113.683303 27.955712,113.683024 27.955751,113.682874 27.955751,113.682553 27.955789,113.682382 27.956605,113.682296 27.957231,113.682231 27.957572,113.682038 27.95816,113.681952 27.958426,113.681696 27.958957,113.681503 27.959166,113.680839 27.959565,113.680131 27.959889,113.679746 27.960041,113.679489 27.96025,113.679275 27.960345,113.67692 27.960996,113.676578 27.961262,113.676535 27.962778,113.676192 27.963121,113.675551 27.963469,113.675766 27.96381,113.675337 27.964835,113.675209 27.965328,113.675637 27.965478,113.676022 27.96525,113.678122 27.964715,113.678422 27.964867,113.678722 27.966192,113.677864 27.967673,113.677393 27.968128,113.677008 27.968433,113.67645 27.969154,113.676237 27.969799,113.675979 27.970103,113.675551 27.970786,113.674608 27.971887,113.673879 27.972495,113.673793 27.972799,113.673922 27.973291,113.673666 27.973595,113.673408 27.974429,113.673537 27.974998,113.673328 27.975648,113.673328 27.975951,113.673157 27.976407,113.672985 27.97762,113.673157 27.977961,113.673542 27.978414,113.673671 27.978869,113.673585 27.979589,113.674056 27.980158,113.674827 27.981103,113.67577 27.980874,113.676284 27.980759,113.67697 27.980834,113.677869 27.981287,113.678512 27.981968,113.679069 27.982308,113.679497 27.981966,113.679883 27.982042,113.680354 27.981927,113.680655 27.982078,113.68104 27.982191,113.681425 27.982645,113.681854 27.982834,113.682197 27.98272,113.682882 27.982832,113.683396 27.983134,113.684211 27.983322,113.68494 27.983823,113.68499 27.983842,113.685539 27.984049,113.685796 27.984579,113.685368 27.985717,113.685968 27.986474,113.686996 27.988368,113.68631 27.989278,113.686482 27.991021,113.686567 27.992461,113.686738 27.993447,113.687081 27.994734,113.688195 27.994884,113.688623 27.995717,113.687766 27.997538,113.686996 27.997312,113.685624 27.997694,113.683224 27.999668,113.681596 27.999596,113.680225 28.000432,113.679539 28.001495,113.679882 28.002252,113.679882 28.00354,113.678768 28.005135,113.679024 28.006194,113.679796 28.007443,113.680138 28.008465,113.680224 28.008996,113.680009 28.009452,113.679495 28.010097,113.679796 28.010664,113.679796 28.011574,113.679966 28.011914,113.67988 28.012863,113.67971 28.013128,113.679238 28.013318,113.678809 28.013319,113.677653 28.015291,113.677653 28.015822,113.677096 28.016429,113.677053 28.017339,113.677823 28.017527,113.677866 28.017678,113.678253 28.018019,113.677695 28.018399,113.676581 28.01878,113.676067 28.019387,113.675337 28.020071,113.674094 28.020074,113.674051 28.019582,113.673408 28.019507,113.672338 28.019016,113.671824 28.018146,113.670366 28.017694,113.67011 28.018073,113.669381 28.018492,113.66891 28.018833,113.667668 28.018836,113.667111 28.019064,113.666291 28.019711,113.665092 28.019485,113.664107 28.019412,113.663635 28.019678,113.662607 28.020703,113.661321 28.0215,113.660807 28.021539,113.65995 28.022109,113.659307 28.022376,113.658536 28.022529,113.658022 28.022757,113.657336 28.023781,113.655793 28.023974,113.654851 28.022649,113.654165 28.022764,113.652537 28.022047,113.651808 28.022465,113.649837 28.023643,113.649065 28.023986,113.648166 28.0241,113.647737 28.024405,113.646966 28.024254,113.646023 28.024104,113.646261 28.02525,113.646605 28.026082,113.645232 28.027904,113.645232 28.02851,113.64489 28.029343,113.645318 28.030631,113.645918 28.031236,113.643947 28.032906,113.644632 28.035633,113.643775 28.037074,113.643089 28.037113,113.642617 28.03825,113.642274 28.038668,113.641974 28.039692,113.641545 28.040108,113.640902 28.041246,113.640431 28.04155,113.641074 28.04242,113.64086 28.042661,113.640602 28.042951,113.639875 28.043786,113.639361 28.04409,113.639061 28.044925,113.63876 28.045266,113.638803 28.046932,113.638289 28.047236,113.63876 28.047426,113.638889 28.048031,113.639317 28.04822,113.639446 28.049583,113.640303 28.04981,113.641203 28.051323,113.642317 28.052534,113.642703 28.05276,113.643046 28.052608,113.643689 28.052759,113.644846 28.052378,113.645274 28.051961,113.645575 28.051808,113.646174 28.051807,113.646432 28.051542,113.646946 28.051617,113.647503 28.051161,113.647889 28.050857,113.648446 28.050174,113.648875 28.049985,113.649432 28.049416,113.649774 28.049226,113.650161 28.049225,113.650503 28.048922,113.650417 28.048656,113.650204 28.048391,113.650546 28.048316,113.651403 28.048351,113.651788 28.048237,113.652603 28.047743,113.653503 28.047666,113.65496 28.047853,113.655431 28.047738,113.656031 28.04751,113.656417 28.047017,113.656931 28.046864,113.658559 28.047126,113.65903 28.047391,113.661173 28.046932,113.661987 28.046476,113.662929 28.04602,113.665201 28.045939,113.665889 28.046278,113.666661 28.046769,113.666918 28.047336,113.667604 28.047525,113.667989 28.04813,113.66819 28.048105,113.668288 28.048092,113.66786 28.047449,113.667946 28.047069,113.668246 28.047675,113.668546 28.047826,113.668589 28.047371,113.668974 28.04756,113.668803 28.048053,113.669574 28.048278,113.669574 28.047596,113.670517 28.047482,113.671416 28.04748,113.672531 28.047137,113.673387 28.047627,113.674801 28.047776,113.675744 28.047623,113.676215 28.047887,113.6769 28.047961,113.676943 28.048454,113.677972 28.049475,113.678185 28.049131,113.678828 28.049244,113.67947 28.049205,113.679942 28.049052,113.679685 28.048598,113.679385 28.047993,113.679257 28.047463,113.678914 28.047235,113.67947 28.046893,113.679857 28.046742,113.680242 28.046362,113.680799 28.046361,113.681399 28.045944,113.682513 28.046017,113.682041 28.045146,113.68217 28.044616,113.682556 28.04435,113.682513 28.043971,113.682385 28.043554,113.682685 28.042986,113.682084 28.042836,113.681914 28.042533,113.681871 28.041586,113.681785 28.040752,113.682042 28.04007,113.682857 28.039425,113.683371 28.03912,113.683628 28.038171,113.684057 28.037716,113.684614 28.036691,113.685342 28.036084,113.685728 28.035136,113.686092 28.034415,113.686221 28.033885,113.68635 28.033203,113.686671 28.032634,113.686606 28.032388,113.686907 28.031951,113.687184 28.031667,113.686928 28.031591,113.687123 28.03146,113.68802 28.030851,113.688299 28.030907,113.688727 28.030906,113.688749 28.03066,113.6892 28.030602,113.689392 28.030924,113.690077 28.031226,113.690292 28.030771,113.690421 28.030733,113.690506 28.031017,113.690763 28.031168,113.690806 28.031338,113.690999 28.031433,113.69087 28.031622,113.69132 28.032247,113.691728 28.032398,113.692392 28.032321,113.692734 28.032377,113.693269 28.032603,113.693398 28.032338,113.693441 28.031959,113.693742 28.031788,113.694084 28.031939,113.694619 28.031823,113.694939 28.031822,113.695068 28.032163,113.694832 28.032674,113.694939 28.032902,113.695154 28.03311,113.695111 28.03347,113.695369 28.032769,113.695947 28.032995,113.696611 28.033089,113.697426 28.033068,113.698304 28.033067,113.699418 28.033008,113.699478 28.033805,113.700314 28.034239,113.701193 28.034692,113.702607 28.034804,113.703185 28.034329,113.703915 28.034385,113.704322 28.034952,113.704579 28.036013,113.704472 28.036752,113.704601 28.03713,113.704899 28.037192,113.705156 28.037438,113.705221 28.038082,113.705307 28.038497,113.705692 28.039009,113.705649 28.03935,113.705221 28.039805,113.705178 28.040108,113.705434 28.040449,113.706057 28.041016,113.706184 28.041282,113.706442 28.042341,113.706721 28.042871,113.707321 28.043173,113.707664 28.043306,113.708367 28.043668,113.70931 28.043893,113.709974 28.044102,113.710661 28.044461,113.710939 28.04446,113.711411 28.044687,113.711989 28.045443,113.712483 28.0462,113.713383 28.046654,113.713769 28.047013,113.714369 28.046956,113.714626 28.046956,113.715019 28.047087,113.715641 28.04722,113.715856 28.047181,113.716177 28.046973,113.716455 28.046651,113.716691 28.04629,113.716863 28.045987,113.717142 28.045741,113.71755 28.045778,113.717913 28.046024,113.718214 28.046023,113.718407 28.045777,113.7186 28.045455,113.718664 28.045208,113.718579 28.044792,113.718729 28.044091,113.720337 28.043919,113.720792 28.043351,113.72032 28.042557,113.720234 28.042102,113.720534 28.041609,113.721135 28.041306,113.721778 28.039941,113.721178 28.039335,113.721049 28.038994,113.721907 28.037819,113.721907 28.037629,113.721393 28.0371,113.721393 28.036721,113.721951 28.036379,113.722851 28.034484,113.722808 28.034181,113.722336 28.033954,113.722165 28.033575,113.721994 28.03316,113.721908 28.032894,113.722165 28.032439,113.722679 28.031946,113.723151 28.031642,113.722937 28.030771,113.723065 28.03041,113.723108 28.030278,113.722551 28.030032,113.721628 28.029483,113.721265 28.028954,113.721243 28.028708,113.721265 28.028424,113.721243 28.028102,113.721157 28.027685,113.721222 28.027476,113.721393 28.027305,113.721564 28.02704,113.721607 28.026642,113.721458 28.02632,113.721415 28.026131,113.721522 28.02596,113.721864 28.025809,113.722122 28.025694,113.722465 28.025694,113.72268 28.025296,113.722701 28.025069,113.722637 28.024936,113.722358 28.02452,113.722358 28.024292,113.722594 28.023857,113.722594 28.023724,113.722358 28.023572,113.7221 28.023326,113.721908 28.022796,113.721529 28.022433,113.721164 28.022188,113.72082 28.022056,113.720606 28.021866,113.720649 28.021582,113.720863 28.021393,113.721786 28.021392,113.722322 28.021334,113.722643 28.021334,113.722987 28.021334,113.723115 28.021201,113.72318 28.020879,113.72318 28.020651,113.723158 28.020499,113.723008 28.020254,113.722836 28.019989,113.722729 28.019421,113.722601 28.019326,113.722365 28.019364,113.722151 28.019402,113.721979 28.019364,113.721829 28.019232,113.721636 28.019024,113.721421 28.018929,113.721121 28.01891,113.72095 28.018891,113.720736 28.018854,113.72065 28.018627,113.720521 28.018475,113.720564 28.018267,113.720478 28.018153,113.720371 28.018021,113.72007 28.017718,113.720599 28.016976,113.720942 28.016482,113.720899 28.016312,113.720663 28.016084,113.72047 28.015915,113.720513 28.015649,113.720513 28.015497,113.720448 28.015232,113.720277 28.014911,113.720105 28.014589,113.719913 28.014362,113.719849 28.014096,113.719977 28.013661,113.720212 28.013413,113.720277 28.013281,113.720277 28.012978,113.720315 28.012747,113.720487 28.012615,113.720745 28.012558,113.720895 28.012368,113.72126 28.011515,113.721367 28.011212,113.72126 28.010719,113.721367 28.010227,113.721839 28.009582,113.721925 28.009146,113.720809 28.00962,113.720766 28.010435,113.720594 28.010531,113.720509 28.010247,113.720467 28.009943,113.720295 28.009868,113.720016 28.010038,113.719801 28.009906,113.719866 28.009716,113.719823 28.009546,113.719329 28.009736,113.719008 28.00966,113.718579 28.009775,113.718257 28.009756,113.72006 28.009014,113.720102 28.008066,113.720788 28.0078,113.721346 28.007932,113.721518 28.007155,113.721882 28.006833,113.722226 28.006737,113.722419 28.006623,113.722591 28.006112,113.722762 28.005752,113.723019 28.005846,113.72319 28.00577,113.723383 28.005543,113.72377 28.005561,113.724134 28.005807,113.724349 28.005807,113.724585 28.005466,113.72458 28.005204,113.72503 28.004767,113.724902 28.004369,113.724387 28.003859,113.723872 28.003385,113.723443 28.002343,113.723658 28.001774,113.723851 28.001149,113.724666 28.000296,113.724795 27.999822,113.724795 27.999348,113.72501 27.999139,113.725117 27.999328,113.72516 27.999594,113.725803 27.999878,113.725718 27.999973,113.725417 27.999954,113.725525 28.000086,113.725845 28.000181,113.726103 28.000086,113.726232 27.999953,113.726275 28.000085,113.726017 28.000768,113.726511 28.000881,113.727004 28.001279,113.726897 28.001449,113.727433 28.00162,113.728333 28.001524,113.728612 28.00124,113.728677 28.000462,113.728483 28.00029,113.728441 28.000157,113.728505 27.999512,113.728569 27.999285,113.728441 27.998167,113.72829 27.997788,113.72872 27.997769,113.728499 27.996974,113.728135 27.996349,113.728135 27.996065,113.728349 27.995042,113.728735 27.994909,113.729229 27.99542,113.729336 27.995344,113.7291 27.994776,113.729014 27.994169,113.729186 27.994074,113.729122 27.993449,113.729379 27.993241,113.729658 27.993317,113.730023 27.993865,113.73013 27.994092,113.72998 27.994282,113.729551 27.994491,113.72983 27.994738,113.730065 27.994737,113.730065 27.994908,113.730344 27.995191,113.730408 27.995097,113.730751 27.994793,113.731288 27.994983,113.732125 27.997654,113.732489 27.997521,113.732876 27.997691,113.733219 27.997635,113.733286 27.997217,113.733371 27.9968,113.733522 27.996743,113.733758 27.996875,113.734037 27.996629,113.734015 27.996458,113.733822 27.99625,113.733994 27.99606,113.734208 27.996023,113.734423 27.995928,113.73468 27.996004,113.734873 27.995794,113.735152 27.995434,113.735624 27.995188,113.735925 27.995036,113.735946 27.995396,113.736397 27.995415,113.736569 27.995244,113.73659 27.994903,113.73674 27.994865,113.737041 27.995092,113.737234 27.995016,113.738221 27.994978,113.738843 27.995432,113.73938 27.994996,113.74071 27.992532,113.741246 27.992381,113.741955 27.99221,113.742234 27.991471,113.742556 27.990807,113.7429 27.989822,113.7432 27.989481,113.743736 27.989291,113.743929 27.988626,113.744337 27.988076,113.744401 27.987905,113.744316 27.987166,113.744122 27.98692,113.74453 27.986635,113.745903 27.986408,113.745968 27.985953,113.745582 27.985745,113.745367 27.985082,113.745301 27.98447,113.745666 27.984375,113.745644 27.984148,113.74586 27.983806,113.74616 27.982896,113.745086 27.982612,113.744357 27.982252,113.746439 27.980888,113.746267 27.980205,113.746353 27.979751,113.74498 27.978234,113.745175 27.97778,113.745089 27.977419,113.74466 27.976452)))");
//        System.out.println(polygon.getCentroid().getCoordinate().getX());
//        System.out.println(polygon.getCentroid().getCoordinate().getY());
//    }
//
//    public static Geometry coordinateTransform(String wkt, int sourceSRID, int targetSRID) {
//        try {
//            System.out.println(wkt);
//            WKTReader reader = new WKTReader();
//            Geometry sourceGeometry = reader.read(wkt);
//            sourceGeometry.setSRID(sourceSRID);
//            CRSAuthorityFactory factory = CRS.getAuthorityFactory(true);
//            CoordinateReferenceSystem source = factory.createCoordinateReferenceSystem("EPSG:" + sourceSRID);
//            CoordinateReferenceSystem target = factory.createCoordinateReferenceSystem("EPSG:" + targetSRID);
//            MathTransform transform = CRS.findMathTransform(source, target, true);
//            Geometry res = JTS.transform(sourceGeometry, transform);
//            res.setSRID(targetSRID);
//            return res;
//        } catch (ParseException | FactoryException | TransformException e) {
//            System.out.println("ERROR: " + e.getMessage());
//        }
//
//        return null;
//    }
//
//}